//
//  TJTabBarViewController.swift
//  weibo
//
//  Created by 简祖明 on 16/7/27.
//  Copyright © 2016年 汤娟. All rights reserved.
//

import UIKit

class TJTabBarViewController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //self.view.backgroundColor=UIColor.whiteColor()
       //添加
        addChildViewController()
        
        //自定义的tabBar,系统的tabbar属性是只读的，不能直接赋值
        //运行时：动态调用setValue forKey进行赋值
        //创建自定义的tabBar
        let tabbar = TJTabBar()
        //赋值
       setValue(tabbar, forKey: "tabBar")
        //重新渲染
        tabbar.tintColor = UIColor.orangeColor()
        
        //给tabBar闭包赋值
        tabbar.closure = {
            printLog("回调，跳转界面")
        }
    }

    //添加子控制器（传入控制器名，标题，图标）
    func addChildViewController() {
        addChildViewController(TJHomeViewController(), title: "首页", imageName: "tabbar_home")
        addChildViewController(TJMessageViewController(), title: "消息", imageName: "tabbar_message_center")
        addChildViewController(TJFindViewController(), title: "发现", imageName: "tabbar_discover")
        addChildViewController(TJSettingViewController(), title: "设置", imageName: "tabbar_profile")
    }
    
    /**
     重载：添加子控制器的方法（参数个数不同）
     
     - parameter childController: 控制器视图
     - parameter title: 标题
     - parameter imageName: 图片名称
     */
    func addChildViewController(childController: UIViewController,title:String,imageName:String) {
        //设置控制器的图片
        childController.tabBarItem.image=UIImage(named: imageName)
        //选中时候的图片
        childController.tabBarItem.selectedImage=UIImage(named: "\(imageName)_highlighted")
        //渲染模式
        //UITabBar.appearance().tintColor = UIColor.orangeColor()
        tabBar.tintColor = UIColor.orangeColor()
        //设置控制器的标题
        childController.title=title
        //把控制器包装成导航控制器
        let nav = UINavigationController(rootViewController: childController)
        
        //设置导航栏按钮的颜色
        nav.navigationBar.tintColor = UIColor.orangeColor()
        
        //添加子控制器
        addChildViewController(nav)
    }

}

//重载方法之前的写法
/*
let home = TJHomeViewController()
home.tabBarItem.image = UIImage(named: "tabbar_home")
home.tabBarItem.selectedImage = UIImage(named:"tabbar_home_highlighted")
//设置渲染模式
tabBar.tintColor = UIColor.orangeColor()

// UITabBar.appearance().tintColor=UIColor.orangeColor()
home.title = "首页"
//把home控制器包装成导航控制器
let nav = UINavigationController(rootViewController: home)
//添加子控制器
addChildViewController(nav)
*/


/*
//调用添加子控制器的方法
addChildViewController()

//修改tabBar上的颜色
UITabBar.appearance().tintColor = UIColor.orangeColor()

//设置自定义的tabBar
let tabBar = TJTabBar()
//系统的tabbar只读属性，不能self.修改
//KVC修改系统的tabBar
self.setValue(tabBar, forKey: "tabBar")

//创建闭包
//tabBar.publishClosure = {
//            print("发微博")
//        }

let closure = {
print("发微博")
}
tabBar.publishClosure=closure
*/




